<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Aggregation (OLAP)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Aggregation_(OLAP)"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Aggregation_OLAP rootpage-Aggregation_OLAP skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Aggregation (OLAP)</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>Aggregation</b> (auch <b>Konsolidierung</b> oder <b>Verdichtung</b>) bezeichnet, im Zusammenhang mit der Verwaltung großer Datenmengen in einem <a href="Data-Warehouse" class="mw-redirect" title="Data-Warehouse">Data-Warehouse</a>, das Zusammenfassen einer Reihe von Fakten zu einem einzelnen Fakt. Beispielsweise lassen sich aus einer Menge von Zahlen der <a href="Mittelwert" title="Mittelwert">Mittelwert</a>, das <a href="Kleinstes_Element" class="mw-redirect" title="Kleinstes Element">Minimum</a> bzw. <a href="Gr%C3%B6%C3%9Ftes_Element" class="mw-redirect" title="Größtes Element">Maximum</a> oder die <a href="Summe" title="Summe">Summe</a> bestimmen. Solche Funktionen, die einer Menge von Zahlen einen einzelnen Wert zuordnen, nennt man <a href="Aggregation_interagierender_Kriterien" title="Aggregation interagierender Kriterien">Aggregationsfunktionen</a> (oder Zusammenfassungsfunktionen). Das Ergebnis wird dann stellvertretend für die Quelldaten verwendet. Der umgekehrte Weg wird als <b>Verfeinerung</b> bezeichnet.
</p><p>Aggregation und Verfeinerung sind Operationen des <a href="Online_Analytical_Processing" title="Online Analytical Processing">Online Analytical Processing</a> (OLAP). Sie bilden einen <a href="OLAP-W%C3%BCrfel" title="OLAP-Würfel">OLAP-Würfel</a> (englisch <i>cube</i>) auf einen kleineren (Aggregation) oder größeren (Verfeinerung) Würfel ab. Die Operationen finden entlang von Klassifikationspfaden statt und verändern somit die Klassifikationsstufen (auch: Konsolidierungsebenen) der einzelnen <a href="Dimension_(Mathematik)" title="Dimension (Mathematik)">Dimensionen</a>.
</p><p>Die entsprechenden Operationen in einem <a href="DBMS" class="mw-redirect" title="DBMS">DBMS</a> werden auch als „Roll up“ und „<a href="Drill-Down" class="mw-redirect" title="Drill-Down">Roll/Drill down</a>“ bezeichnet. Eine einfache Aggregation ist in <a href="SQL" title="SQL">SQL</a> mittels <code>GROUP BY</code> möglich.
</p><p>Einige <a href="Multidimensionale_Datenbank" title="Multidimensionale Datenbank">Multidimensionale Datenbanken</a> verwenden eine <a href="In-Memory-Datenbank" title="In-Memory-Datenbank">memory-basierte</a> Analyse. Sie ermöglichen durch die hohe Performance des Speichermediums und der begrenzten <a href="Datenmenge" title="Datenmenge">Datenmenge</a> Aggregationen zum Zeitpunkt der Abfrage (<i>Berechnung on-the-fly</i>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Beispiel">Beispiel</h2></div>
<p>Ein Data-Warehouse enthält als einzelne Fakten Verkäufe nach Datum, Branche und Geschäft. Die Datumsdimension enthält einen Klassifikationspfad mit den Klassifikationsstufen Tag-Monat-Jahr-TOP. Durch Aggregation entlang dieses Pfades lässt sich bei Verwendung der Summenfunktion beispielsweise die Anzahl der Verkäufe nach Jahr, Branche und Geschäft ermitteln. Bei Aggregation auf die oberste Klassifikationsstufe TOP fällt die Datumsdimension zusammen; der Ergebniscube enthält die Gesamtanzahl der Verkäufe aller Zeiten nach Branche und Geschäft. Die Anwendung von Aggregat-Funktionen und ggfs. weiterer arithmetischer Operationen zur Ermittlung einer einzigen Zahl nennt man auch die Ermittlung einer <a href="Betriebswirtschaftliche_Kennzahl" title="Betriebswirtschaftliche Kennzahl">Kennzahl</a> oder eines <a href="Key_Performance_Indicator" class="mw-redirect" title="Key Performance Indicator">Key Performance Indicators</a> (KPI).
</p>
<div class="mw-heading mw-heading2"><h2 id="Aggregatfunktionen">Aggregatfunktionen</h2></div>
<div class="hauptartikel" role="navigation"><span class="hauptartikel-pfeil" title="siehe" aria-hidden="true" role="presentation">→ </span><i><span class="hauptartikel-text">Hauptartikel</span>: <a href="Aggregatfunktion" title="Aggregatfunktion">Aggregatfunktion</a></i></div>
<p>Aggregatfunktionen sind Funktionen, die gewisse Eigenschaften zusammenfassen.
Die bei einer Aggregation verwendeten Funktionen lassen sich unterteilen in
</p>
<ul><li><b>Distributive Funktionen</b>: Summe (SUM), Anzahl (COUNT), Maximum (MAX), Minimum (MIN)...</li>
<li><b>Algebraische Funktionen</b>: Mittelwert (AVG), gestutzter Mittelwert (truncated AVG), Standardabweichung, <a href="Top-N-Anfrage" title="Top-N-Anfrage">Top-N</a>...</li>
<li><b>Holistische Funktionen</b>: <a href="Median" title="Median">Median</a>, <a href="Rang_(Informatik)" title="Rang (Informatik)">Rang</a>, Percentile, häufigster Wert...</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Aggregierbarkeit">Aggregierbarkeit</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Anforderungen_an_die_Dimensionen">Anforderungen an die Dimensionen</h3></div>
<ul><li><b>Überlappungsfreiheit</b> der Zuordnung von Klassifikationsknoten. Beispiel: die Fachrichtung eines Studenten ist nicht überlappungsfrei, denn man kann nicht ausschließen, dass ein Student für mehrere Fachrichtungen eingeschrieben ist.</li>
<li><b>Vollständigkeit</b> der Zerlegung pro Klassifikationsstufe. Beispiele: Die Postleitzahl vom Hauptwohnsitz eines Einwohners ist nicht vollständig, denn es gibt auch Einwohner, die keinen festen Wohnsitz haben. Sie erfordern die Erweiterung der Dimension um eine null-Ausprägung oder eine 'sonstige'-Ausprägung.</li>
<li><b>Typverträglichkeit</b> von Fakt und Aggregatfunktion. Beispiel: für Durchschnittswerte ist eine nochmalige Durchschnittsbildung auf einer höheren Aggregationsebene meist nicht möglich.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Datentypen_der_Fakten_sind">Datentypen der Fakten sind</h3></div>
<ul><li><b>voll aggregierbar</b>, wenn alle Fakten, die einen Fluss eines Gutes in einer bestimmten Zeiteinheit quantitativ beschreiben. Hier sind alle Aggregat-Funktionen sinnvoll einsetzbar. Beispiele: Umsatz, Kosten, Stromverbrauch, <a href="Warenausgang" title="Warenausgang">Warenausgang</a>.</li>
<li><b>teilaggregierbar</b>, wenn alle Fakten, bei denen einige Aggregat-Funktionen nicht oder nur eingeschränkt eingesetzt werden können. Das sind 1. alle Fakten vom Typ Stück oder Bestand. Sie beschreiben eine vorhandene Menge zu einem bestimmten Zeitpunkt. Beispiel: Anzahl der Einwohner, Hochwasserpegel, Kontostand. Diese Fakten können nicht über die Zeit-Dimension summiert werden. Über andere Dimensionen, die den Bezug zum selben Zeitpunkt erhalten, können sie schon summiert werden. 2. gibt es noch weitere Gründe, die die Anwendung einiger Aggregat-Funktionen einschränken. Beispiele: Schulnoten, Datumsangaben, Durchschnittswerte. Hier sind Summierung grundsätzlich nicht sinnvoll oder überhaupt nicht definiert. Die meisten anderen Aggregat-Funktionen können schon angewendet werden.</li>
<li><b>nicht aggregierbar</b>, wenn alle Fakten, bei denen überhaupt keine Aggregatfunktionen sinnvoll eingesetzt werden können. Beispiel: Warengruppen, Postleitzahlen, Kontonummern, Nachnamen. Wenn für den Datentyp keine Ordnung (Sortierbarkeit) definiert ist, dann sind noch nicht einmal die Funktionen Maximum und Minimum anwendbar.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Dimensionshierarchie_und_Aggregationspfade">Dimensionshierarchie und Aggregationspfade</h3></div>
<p>Dimensionen lassen sich oft als Hierarchien gliedern.
</p><p>Wenn jeder Knoten funktional abhängig ist von seinen Vorgängern, dann kann sich ein linearer Aggregationspfad ergeben. Beispiel:
</p>
<pre>Tag --- Monat --- Quartal --- Jahr
</pre>
<p>Es kann vorkommen, dass in einer Dimension unterschiedliche Aggregationspfade möglich sind. Beispiel:
</p>
<pre>Tag --- Woche --- Jahr
Tag --- Monat --- Jahr
</pre>
<p>Es gibt zwei verschiedene Aggregationspfade, um vom Tag zum Jahr zu führen. Beide liefern dasselbe Ergebnis. Von der Woche kann man jedoch nicht zum Monat gelangen und auch umgekehrt nicht.
</p><p>An diesem Beispiel wird auch deutlich, dass unterschiedliche Aggregationspfade oft die Gefahr beinhalten, dass die Ergebnisse doch nicht exakt übereinstimmen. Wenn der Jahreswechsel nicht gleichzeitig mit dem Wechsel einer Woche zusammenfällt, dann kann es bei den beiden Aggregationspfaden zu Abweichungen kommen. Für die Behandlung der letzten Woche im Jahr muss eine eindeutige Handhabung gefunden werden, sonst ist der Aggregationspfad Tag --- Woche --- Jahr falsch.
</p>
<div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2></div>
<ul><li><a href="Online_Analytical_Processing" title="Online Analytical Processing">Online Analytical Processing</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Lenz und Shoshani: <i>Summarizability in OLAP and Statistical Databases</i>. SSDBM, 1997.</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-02-02" href="https://de.wikipedia.org/wiki/?title=Aggregation_(OLAP)&oldid=252933785">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>